package Modelo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;


@Entity
@Table (name = "listaDePrecios")
@Inheritance (strategy= InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn ( name ="tipo", discriminatorType = DiscriminatorType.STRING)
public abstract class ListaDePrecios {

	@Id
	@GeneratedValue
	private int nro_lista;
	@Column
	private String nombre;
	@Column
	private Date vigenciaDesde;
	@Column
	private int termino;
	
	@OneToMany (cascade = CascadeType.ALL)
	@JoinColumn (name = "nro_lista")
	private List<ItemListaPrecios> items;
	
	
	public List<ItemListaPrecios> getItems() {
		return items;
	}
	public void setItems(List<ItemListaPrecios> items) {
		this.items = items;
	}
	public int getNro_lista() {
		return nro_lista;
	}
	public void setNro_lista(int nro_lista) {
		this.nro_lista = nro_lista;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public Date getVigenciaDesde() {
		return vigenciaDesde;
	}
	public void setVigenciaDesde(Date vigenciaDesde) {
		this.vigenciaDesde = vigenciaDesde;
	}
	public int getTermino() {
		return termino;
	}
	public void setTermino(int termino) {
		this.termino = termino;
	}
	public ListaDePrecios() {
		super();
		this.items = new ArrayList<ItemListaPrecios>();
		
		// TODO Auto-generated constructor stub
	}
	
	
	
	
}
